package com.iwhalecloud.bss.kite.cucc.client.api.order;

import com.iwhalecloud.bss.kite.client.vo.scene.ProdAttrModuleVO;
import com.iwhalecloud.bss.kite.client.vo.scene.ProdAttrVO;
import com.iwhalecloud.bss.kite.client.vo.scene.ProdRoleModuleVO;
import com.iwhalecloud.bss.kite.client.vo.scene.ProductModuleVO;
import com.iwhalecloud.bss.kite.client.vo.spec.ServiceOfferTypeVO;
import com.iwhalecloud.bss.kite.manager.inst.KiteProdInst;

import java.util.List;

public interface IBusinessChangeService {

    ProdAttrModuleVO dealProdAttrList(String sceneInstId, String custId, KiteProdInst kiteProdInst,
        String serviceOfferId, ProdAttrModuleVO prodAttrModule);

    ProductModuleVO genProductVO(String prodId);

    ProdRoleModuleVO genProductRoleVO(KiteProdInst prodInst);

    void restoreScene(String serviceOfferId, String sceneInstId, String custId);

    void checkSceneMutex(String serviceOfferId, List<String> serviceOfferIds);

    List<ProdAttrVO> removeProdAttrVO(List<ProdAttrVO> prodAttrVOList);

    List<ServiceOfferTypeVO> queryServiceOfferInfo(String goodsId, String cateId, String custId, String instanceType, String modifyType);

}
